package in.rob.client.widget;
import android.appwidget.AppWidgetManager;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import in.lib.Constants;
import in.rob.client.MainActivity;
import in.rob.client.ThreadActivity;
import in.rob.client.dialog.NewPostDialog;
public class WidgetBroadcastReceiver extends BroadcastReceiver
{
@Override public void onReceive(Context context, Intent intent)
{
if (Constants.ACTION_INTENT_NEW_POST.equals(intent.getAction()))
{
createNewPost(context);
}
else if (Constants.ACTION_INTENT_OPEN_APP.equals(intent.getAction()))
{
openApp(context);
}
else if (Constants.ACTION_INTENT_THREAD.equals(intent.getAction()))
{
Intent thread = new Intent(context, ThreadActivity.class);
if (intent.getExtras() != null)
{
thread.putExtras(intent.getExtras());
}
context.startActivity(thread);
}
else if (Constants.ACTION_INTENT_REFRESH.equals(intent.getAction()))
{
int id = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
if (id != -1)
{
refresh(context, id, intent.getStringExtra("stream"));
}
}
else if (Constants.ACTION_INTENT_RELOAD.equals(intent.getAction()))
{
int id = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, -1);
if (id != -1)
{
reloadWidget(context, id);
}
}
}
private void openApp(Context context)
{
Intent openAppIntent = new Intent(context, MainActivity.class);
openAppIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(openAppIntent);
}
private void createNewPost(Context context)
{
Intent postIntent = new Intent(context, NewPostDialog.class);
postIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
context.startActivity(postIntent);
}
private void refresh(final Context context, final int id, String stream)
{
}
private void reloadWidget(Context context, int id)
{
Intent widgetUpdateIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
widgetUpdateIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, id);
context.sendBroadcast(widgetUpdateIntent);
}
}